package br.com.bb.cslsp.modelo.dependencia;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.NaturalId;

@Entity
@Table(schema = "global")
@IdClass(value = DependenciaPK.class)
public class Dependencia implements Serializable {

	private static final long serialVersionUID = 1L;
	
	@Id
	@Column(length = 4)
	private int prefixo;

	@Id
	@Column(length = 2)
	private int sb;

	@Column(length = 1)
	private String dv;

	@NaturalId
	@Column(length = 9)
	private int uor;

	@Column(length = 22)
	private String nome;

	@Column(length = 2)
	private String uf;

	@Column(length = 2)
	private int codigoUf;

	@Column(length = 3)
	private int tipoDependencia;

	@Column(length = 3)
	private int tipoDependenciaGeral;

	@Column(length = 3)
	private int cnpj;

	@Column(length = 2)
	private String dvCnpj;

	@Temporal(TemporalType.DATE)
	private Date dataCriacao;

	@Temporal(TemporalType.DATE)
	private Date dataAutonomiaContabil;

	@Temporal(TemporalType.DATE)
	private Date dataInauguracao;

	@Temporal(TemporalType.DATE)
	private Date dataEncerramento;

	@Column(length = 35)
	private String logradouro;

	@Column(length = 35)
	private String complemento;

	@Column(length = 25)
	private String bairro;

	@Column(length = 30)
	private String municipio;

	@Column(length = 8)
	private int cep;

	@Column(length = 4)
	private String ddd;

	@Column(length = 9)
	private String telefone1;

	@Column(length = 9)
	private String telefone2;

	@Column(length = 9)
	private String fax;

	@Column(length = 5)
	private int codigoMunicipioSRF;

	@Column(length = 1)
	private String status;

	@Column(length = 1)
	private int indicativoAgenciaPioneira;

	@Column(length = 1)
	private int nivel;

	@Column(length = 1)
	private int codigoRegiaoGeografica;

	@Column(length = 4)
	private int prefixoVicePresidencia;

	@Column(length = 4)
	private int prefixoSuper;

	@Column(length = 4)
	private int prefixoGerev;

	@Column(length = 4)
	private Integer prefixoCSOProcessamento;

	@Column(length = 4)
	private Integer prefixoCSOServico;

	@Column(length = 4)
	private Integer prefixoCSLServico;

	@Column(length = 4)
	private Integer prefixoCSLProcessamento;

	@Column(length = 4)
	private Integer prefixoCSLAvaliacao;

	@Column(length = 4)
	private Integer prefixoCSLAlmox;

	@Column(length = 1)
	private String perfil;

	@Column(length = 4)
	private int agrupamentoFixo;

	@Column(length = 4)
	private int agrupamentoTransitorio;

	@Column(length = 1)
	private int regiaoMetropolitana;

	@Column(length = 1)
	private int pilar;

	@Column(length = 4)
	private int caracteristica;

	private Double latitude = 0.0;

	private Double longitude = 0.0;

	public int getPrefixo() {
		return prefixo;
	}

	public void setPrefixo(int prefixo) {
		this.prefixo = prefixo;
	}

	public String getDv() {
		return dv;
	}

	public void setDv(String dv) {
		this.dv = dv;
	}

	public int getSb() {
		return sb;
	}

	public void setSb(int sb) {
		this.sb = sb;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getUf() {
		return uf;
	}

	public void setUf(String uf) {
		this.uf = uf;
	}

	public int getCodigoUf() {
		return codigoUf;
	}

	public void setCodigoUf(int codigoUf) {
		this.codigoUf = codigoUf;
	}

	public int getTipoDependencia() {
		return tipoDependencia;
	}

	public void setTipoDependencia(int tipoDependencia) {
		this.tipoDependencia = tipoDependencia;
	}

	public int getTipoDependenciaGeral() {
		return tipoDependenciaGeral;
	}

	public void setTipoDependenciaGeral(int tipoDependenciaGeral) {
		this.tipoDependenciaGeral = tipoDependenciaGeral;
	}

	public int getCnpj() {
		return cnpj;
	}

	public void setCnpj(int cnpj) {
		this.cnpj = cnpj;
	}

	public String getDvCnpj() {
		return dvCnpj;
	}

	public void setDvCnpj(String dvCnpj) {
		this.dvCnpj = dvCnpj;
	}

	public Date getDataCriacao() {
		return dataCriacao;
	}

	public void setDataCriacao(Date dataCriacao) {
		this.dataCriacao = dataCriacao;
	}

	public Date getDataAutonomiaContabil() {
		return dataAutonomiaContabil;
	}

	public void setDataAutonomiaContabil(Date dataAutonomiaContabil) {
		this.dataAutonomiaContabil = dataAutonomiaContabil;
	}

	public Date getDataInauguracao() {
		return dataInauguracao;
	}

	public void setDataInauguracao(Date dataInauguracao) {
		this.dataInauguracao = dataInauguracao;
	}

	public Date getDataEncerramento() {
		return dataEncerramento;
	}

	public void setDataEncerramento(Date dataEncerramento) {
		this.dataEncerramento = dataEncerramento;
	}

	public String getLogradouro() {
		return logradouro;
	}

	public void setLogradouro(String logradouro) {
		this.logradouro = logradouro;
	}

	public String getComplemento() {
		return complemento;
	}

	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public String getMunicipio() {
		return municipio;
	}

	public void setMunicipio(String municipio) {
		this.municipio = municipio;
	}

	public int getCep() {
		return cep;
	}

	public void setCep(int cep) {
		this.cep = cep;
	}

	public String getDdd() {
		return ddd;
	}

	public void setDdd(String ddd) {
		this.ddd = ddd;
	}

	public String getTelefone1() {
		return telefone1;
	}

	public void setTelefone1(String telefone1) {
		this.telefone1 = telefone1;
	}

	public String getTelefone2() {
		return telefone2;
	}

	public void setTelefone2(String telefone2) {
		this.telefone2 = telefone2;
	}

	public String getFax() {
		return fax;
	}

	public void setFax(String fax) {
		this.fax = fax;
	}

	public int getCodigoMunicipioSRF() {
		return codigoMunicipioSRF;
	}

	public void setCodigoMunicipioSRF(int codigoMunicipioSRF) {
		this.codigoMunicipioSRF = codigoMunicipioSRF;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public int getIndicativoAgenciaPioneira() {
		return indicativoAgenciaPioneira;
	}

	public void setIndicativoAgenciaPioneira(int indicativoAgenciaPioneira) {
		this.indicativoAgenciaPioneira = indicativoAgenciaPioneira;
	}

	public int getNivel() {
		return nivel;
	}

	public void setNivel(int nivel) {
		this.nivel = nivel;
	}

	public int getCodigoRegiaoGeografica() {
		return codigoRegiaoGeografica;
	}

	public void setCodigoRegiaoGeografica(int codigoRegiaoGeografica) {
		this.codigoRegiaoGeografica = codigoRegiaoGeografica;
	}

	public int getPrefixoVicePresidencia() {
		return prefixoVicePresidencia;
	}

	public void setPrefixoVicePresidencia(int prefixoVicePresidencia) {
		this.prefixoVicePresidencia = prefixoVicePresidencia;
	}

	public int getPrefixoSuper() {
		return prefixoSuper;
	}

	public void setPrefixoSuper(int prefixoSuper) {
		this.prefixoSuper = prefixoSuper;
	}

	public int getPrefixoGerev() {
		return prefixoGerev;
	}

	public void setPrefixoGerev(int prefixoGerev) {
		this.prefixoGerev = prefixoGerev;
	}

	public int getPrefixoCSOProcessamento() {
		return prefixoCSOProcessamento;
	}

	public void setPrefixoCSOProcessamento(int prefixoCSOProcessamento) {
		this.prefixoCSOProcessamento = prefixoCSOProcessamento;
	}

	public int getPrefixoCSOServico() {
		return prefixoCSOServico;
	}

	public void setPrefixoCSOServico(int prefixoCSOServico) {
		this.prefixoCSOServico = prefixoCSOServico;
	}

	public int getPrefixoCSLServico() {
		return prefixoCSLServico;
	}

	public void setPrefixoCSLServico(int prefixoCSLServico) {
		this.prefixoCSLServico = prefixoCSLServico;
	}

	public int getPrefixoCSLProcessamento() {
		return prefixoCSLProcessamento;
	}

	public void setPrefixoCSLProcessamento(int prefixoCSLProcessamento) {
		this.prefixoCSLProcessamento = prefixoCSLProcessamento;
	}

	public int getPrefixoCSLAvaliacao() {
		return prefixoCSLAvaliacao;
	}

	public void setPrefixoCSLAvaliacao(int prefixoCSLAvaliacao) {
		this.prefixoCSLAvaliacao = prefixoCSLAvaliacao;
	}

	public int getPrefixoCSLAlmox() {
		return prefixoCSLAlmox;
	}

	public void setPrefixoCSLAlmox(int prefixoCSLAlmox) {
		this.prefixoCSLAlmox = prefixoCSLAlmox;
	}

	public String getPerfil() {
		return perfil;
	}

	public void setPerfil(String perfil) {
		this.perfil = perfil;
	}

	public int getAgrupamentoFixo() {
		return agrupamentoFixo;
	}

	public void setAgrupamentoFixo(int agrupamentoFixo) {
		this.agrupamentoFixo = agrupamentoFixo;
	}

	public int getAgrupamentoTransitorio() {
		return agrupamentoTransitorio;
	}

	public void setAgrupamentoTransitorio(int agrupamentoTransitorio) {
		this.agrupamentoTransitorio = agrupamentoTransitorio;
	}

	public int getUor() {
		return uor;
	}

	public void setUor(int uor) {
		this.uor = uor;
	}

	public int getRegiaoMetropolitana() {
		return regiaoMetropolitana;
	}

	public void setRegiaoMetropolitana(int regiaoMetropolitana) {
		this.regiaoMetropolitana = regiaoMetropolitana;
	}

	public int getPilar() {
		return pilar;
	}

	public void setPilar(int pilar) {
		this.pilar = pilar;
	}

	public int getCaracteristica() {
		return caracteristica;
	}

	public void setCaracteristica(int caracteristica) {
		this.caracteristica = caracteristica;
	}

	public double getLatitude() {
		return latitude;
	}

	public void setLatitude(double latitude) {
		this.latitude = latitude;
	}

	public double getLongitude() {
		return longitude;
	}

	public void setLongitude(double longitude) {
		this.longitude = longitude;
	}

}